var express = require('express');
var app = express.createServer();
app.use("/", express.static(__dirname));
app.listen(8090);
console.log("static started at 8090");

var io = require('socket.io').listen(8080);
var players = {};
io.sockets.on('connection', function (socket) {
    var ID = (socket.id).toString().substr(0, 5);
    // Посылаем клиенту сообщение о том, что он успешно подключился и его имя
    socket.json.send({'event': 'connected', "key": ID});
    socket.json.send({'event': 'initPlayers', 'data': players});
    players[ID] = {x:300, y:300, key:ID};
    // Посылаем всем остальным пользователям, что подключился новый клиент и его имя
    socket.broadcast.json.send({'event': 'userJoined', "key": ID});
    // Навешиваем обработчик на входящее сообщение
    socket.on('message', function (action) {
        if(action.y) {
            players[ID].y = action.y;
        }
        // Уведомляем клиента, что его сообщение успешно дошло до сервера
        socket.json.send({'event': 'messageSent', "key": ID, 'action': action});
        // Отсылаем сообщение остальным участникам чата
        socket.broadcast.json.send({'event': 'messageReceived', "key": ID, 'action': action});
    });
    // При отключении клиента - уведомляем остальных
    socket.on('disconnect', function() {
        io.sockets.json.send({'event': 'userSplit', "key": ID});
        delete players[ID];
    });
});